"""
异常传递

异常是具有传递性的
"""

"""
当函数func01中发生异常, 并且没有捕获处理这个异常的时候, 异常会传递到函数func02, 
当func02也没有捕获处理这个异常的时候，main函数会捕获这个异常, 这就是异常的传递性.

当所有函数都没有捕获异常的时候, 程序就会报错

利用异常具有传递性的特点, 当我们想要保证程序不会因为异常崩溃的时候, 
就可以在main函数中设置异常捕获, 由于无论在整个程序哪里发生异常, 最终都会传递到main函数中, 这样就可以确保所有的异常都会被捕获
"""


def funcA():
    print("funcA start...")
    num = 1 / 0
    print("funcA end...")


def funcB():
    print("funcB start...")
    funcA()
    print("funcB end...")


def main():  # 在 main 函数中被捕获
    try:
        funcB()
    except Exception as e:
        print(f"异常信息：{e}")


main()
